#include <iostream>
#include <regex>
#include <string>
#include <vector>

int main() {
    // Input data
    std::string words;
    std::cout << "Введите несколько слов, разделенных пробелом: ";
    std::getline(std::cin, words);

    // Split entered words
    std::vector<std::string> wordList;
    std::string word;
    std::istringstream iss(words);
    while (iss >> word) {
        wordList.push_back(word);
    }

    // Variables for counting parameters
    int totalWords = 0;
    int cyrillicUppercaseWords = 0;
    int latinSymbolWords = 0;
    int shortWords = 0;
    int hyphenWords = 0;
    std::string longestWord = "";
    int longestWordLength = 0;

    // Check the number of entered words
    if (wordList.size() <= 1) {
        std::cout << "Мало данных для анализа" << std::endl;
    } else {
        for (const std::string& word : wordList) {
            totalWords++;

            if (std::regex_match(word.substr(0, 1), std::regex("[А-Я]"))) {
                cyrillicUppercaseWords++;
            }
            if (std::regex_search(word, std::regex("[a-zA-Z]"))) {
                latinSymbolWords++;
            }
            if (word.length() <= 3) {
                shortWords++;
            }
            if (word.find('-') != std::string::npos) {
                hyphenWords++;
            }
            if (word.length() > longestWordLength) {
                longestWordLength = word.length();
                longestWord = word;
            }
        }

        // Output results
        std::cout << "Кол-во слов: " << totalWords << std::endl;
        std::cout << "Кол-во слов с заглавной кириллической буквы: " << cyrillicUppercaseWords << std::endl;
        std::cout << "Кол-во слов содержащих латинский символ: " << latinSymbolWords << std::endl;
        std::cout << "Кол-во слов не превышающих 3 символа: " << shortWords << std::endl;
        std::cout << "Кол-во слов в составе которых имеется дефис: " << hyphenWords << std::endl;
        std::cout << "Самое длинное слово: " << longestWord << std::endl;
        std::cout << "Длина слова: " << longestWordLength << std::endl;
    }

    return 0;
}
